package yeschat;

import java.rmi.RemoteException;
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry ;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;

/** Implementa o servidor
 * @author Rafael Neri
 * @author Helem Chaves
 * @author Elizeu Rodrigues
 * @author Airton Filho
 */
public class Servidor implements InterfaceComunicacao{

       static InterfaceComunicacao stub;
       static Servidor servidorRMI;
       static ArrayList<Cliente> arrClientes = new ArrayList<Cliente>();
       String resposta = "";


       public static void main(String args[]) throws RemoteException{
          servidorRMI = new Servidor();
          conectar();
      }


       public static void conectar(){
          try{
              //servidorRMI = new Servidor();
              stub = (InterfaceComunicacao)UnicastRemoteObject.exportObject(servidorRMI, 0);

              //Liga o stub do objeto remoto no registro, e inicia o RMIRegistry na porta 1099
              Registry registry = LocateRegistry.createRegistry(1099);

              //Dá um nome pra ele no registro
              registry.bind ("ServidorRMI", stub);

              System.out.println ("Servidor iniciado!");

          }
          catch(Exception e){
              System.out.println("Erro: " + e);
          }
      }


       /** Replicar Mensagem
        *
        * @param msg Mensagem do cliente
        * @return String mensagem
        */
      public String replicarMsg(String msg){
          String retorno = armazenaMsg(msg);
         return "mensagem devolvida pelo servidor: " + retorno;
      }

      public String armazenaMsg(String Msg){
           ArrayList <String> array = new ArrayList<String>();
           array.add(Msg);

           for( String msg : array){
               resposta = resposta + msg;
          }

           return resposta;
    }
}


